package write.oo;

/**
 * 是一种引用数据类型
 * 由interface定义
 * 只能包含抽象方法(常量、(1.8后)默认方法、静态方法、私有方法)
 * 不能被实例化
 *
 * 接口是需要被实现/继承的，实现类/派生类：必须重写接口中的所有抽象方法
 * 注意：接口中抽象方法的默认修饰是public abstract,
 *      所以类实现接口时的抽象方法重写必须由public修饰，参见重写要求
 *
 *      接口中声明的变量默认是常量，因为提供了默认修饰public static final
 *
 */
/**
 * 继承与实现
 * 类与类----------继承
 * 接口与接口------继承
 * 类与接口--------实现
 * 一个类可以实现多个接口，用逗号分隔。若又继承又实现时，应先继承后实现
 */
public interface AInterface {
    //常量
    int NUM = 5;
    public static final int NUM1 = 6;

    void say();
    public abstract void sayHi();

}
